Hacking It Up
by John Corigliano
<jcorig@udel.edu>
Well, it's back (as if it ever went away)! That age-old battle:
Hardware Hacking Rulez/Sux on
comp.sys.amiga.programmer.
For those of you unfamiliar with this saga there are two distinct
groups of programmers in the Amiga community: those who believe you
should always use the OS for things like displaying graphics,
reading from disk, etc, and those who think it is acceptable to bypass
the OS when speed is of the utmost importance.
"Use the OS, Luke"
One person arguing in against Hardware Hacking made what I thought
was a very salient point: if the company making the computers (i.e. VisCorp)
thought that many programmers were hitting the hardware then they,
the computer manufacturer, might be reluctant to upgrade the hardware for
fear off disabling too much software.
A Hypothetical Situation
For instance, suppose VisCorp (or whoever) decides to move the BLTCON0
register to a new location. System friendly programs would be unaffected
by this move - even those that use the Blitter (via graphics.library
function calls). Hoewever, I imagine that quite a few games and demos
that program BLTCON0 directly will crash faster than you can say, "What the
heck is a 'blitter' anyway?"
So, VisCorp decides to leave BLTCON0 right were it is, even though it means
a big performance decrease in graphics operations. That's not good.
Bang Your Head
On the other hand, you'd have to be kinda goofy not too realize that the
Amiga hardware is a bit behind the times. And yet Amiga users
still want to run a Quake clone on a 1200. It ain't gonna happen! A
68020 does not a Pentium make. So, what's a coder to do? Bang the
hardware! Many people feel that the only way to keep the Amiga
competetive in the games market is to squeeze every last bit of juice
out of her. System calls are slow compared to well written, optimized
assembly code. Ergo, hardware banging is required.
The Envelope Please
Well, you're thinking, what's the answer? Is hardware hacking
ok or not?. Well, no if you want to write software that is not only
compatable with today's machines, but also tomorrow's. Yes, if you want
to do stuff that the existing hardware isn't really meant to do. In other
words, there is no cut-and-dried sollution...sorry.
Table Of Contents